Electronic systems and circuits are often utilized in a number of applications to achieve advantageous results. Numerous electronic technologies such as computers, video equipment, and communication systems facilitate increased productivity and cost reduction in analyzing and communicating information in most areas of business, science, education and entertainment. Frequently, these activities involve storage of vast amounts of important and confidential information and significant resources are expended storing and processing the information. Maintaining and tracking the information is often very important for a variety or reasons.
A number of storage architectures include storage mirrors that can be utilized for various purposes (e.g., recovery, corruption correction, etc.). Typically, mirrors in a volume should have same data to maintain consistency for reads across the mirrors. When mirrors are implemented at a software layer and the volume is shared across multiple nodes in a shared storage cluster, localized connectivity errors leading to complete loss of storage connectivity from one or more nodes can trigger I/O errors for writes. If the connectivity loss happens while a write is in progress it could make data across mirrors inconsistent. In such scenarios, conventional approaches usually mark all but the last mirror as detached to prevent inconsistency for data reads from un-affected nodes. However, this traditional approach of detachment typically reduces redundancy of mirrors without providing any additional benefit to the affected nodes.